home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / dom / DeferredElementImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  1.5 KB  |  63 lines

  1. package com.ibm.xml.dom;
  2.  
  3. import org.w3c.dom.NamedNodeMap;
  4.  
  5. public class DeferredElementImpl extends ElementImpl implements DeferredNode {
  6.    static final long serialVersionUID = 1698024469924430384L;
  7.    protected transient int fNodeIndex;
  8.  
  9.    DeferredElementImpl(DeferredDocumentImpl var1, int var2) {
  10.       super(var1, (String)null);
  11.       this.fNodeIndex = var2;
  12.       super.syncData = true;
  13.       super.syncChildren = true;
  14.    }
  15.  
  16.    public final int getNodeIndex() {
  17.       return this.fNodeIndex;
  18.    }
  19.  
  20.    protected final void synchronizeData() {
  21.       super.syncData = false;
  22.       DeferredDocumentImpl var1 = (DeferredDocumentImpl)super.ownerDocument;
  23.       super.name = var1.getNodeNameString(this.fNodeIndex);
  24.       ((ElementImpl)this).setupDefaultAttributes();
  25.       int var2 = var1.getNodeValue(this.fNodeIndex);
  26.       if (var2 != -1) {
  27.          NamedNodeMap var3 = ((ElementImpl)this).getAttributes();
  28.  
  29.          do {
  30.             NodeImpl var4 = (NodeImpl)var1.getNodeObject(var2);
  31.             var3.setNamedItem(var4);
  32.             var4.parentNode = this;
  33.             var2 = var1.getNextSibling(var2);
  34.          } while(var2 != -1);
  35.       }
  36.  
  37.    }
  38.  
  39.    protected final void synchronizeChildren() {
  40.       super.syncChildren = false;
  41.       DeferredDocumentImpl var1 = (DeferredDocumentImpl)super.ownerDocument;
  42.       NodeImpl var2 = null;
  43.  
  44.       for(int var3 = var1.getFirstChild(this.fNodeIndex); var3 != -1; var3 = var1.getNextSibling(var3)) {
  45.          NodeImpl var4 = (NodeImpl)var1.getNodeObject(var3);
  46.          if (var2 == null) {
  47.             super.firstChild = var4;
  48.          } else {
  49.             var2.nextSibling = var4;
  50.          }
  51.  
  52.          var4.parentNode = this;
  53.          var4.previousSibling = var2;
  54.          var2 = var4;
  55.       }
  56.  
  57.       if (var2 != null) {
  58.          super.lastChild = var2;
  59.       }
  60.  
  61.    }
  62. }
  63.